package dbdao;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.lanou.horo.myapplication.dbdao.DaoSession;
import com.lanou.horo.myapplication.dbdao.FristDbEntity;
import com.lanou.horo.myapplication.dbdao.FristTopDbEntity;

import java.util.List;

import application.BasisApplication;

/**
 * Created by dllo on 15/11/30.
 */
public class FristTopDBHelper {
    private static  FristTopDBHelper helper;
    private static DaoSession daoSession;
    private FristTopDBHelper(){

    }
    public static FristTopDBHelper getInstance() {
        if (helper == null) {
            helper = new FristTopDBHelper();
            daoSession = BasisApplication.getDaoSession();//初始化
        }
        return helper;
    }
    /**
     * 提供一个返回cursor对象的方法在provide中调用
     */
    public Cursor queryAllfouse() {
        //获得查询器
        //	QueryBuilder<Themes> aBuilder = daoSession.getThemesDao().queryBuilder();
        SQLiteDatabase database =daoSession.getFristDbEntityDao().getDatabase();//获得数据库对象

        String fouseTabName = daoSession.getFristDbEntityDao().getTablename();//获得表名

        //按照原生的cursor
        Cursor cursor =	database.query(fouseTabName, null, null, null, null, null, null);//获取数据库表中的所有数据

        return cursor;
        // TODO Auto-generated method stub

    }
    /**
     * 将vaules所对应的值插入到数据库中 并返回插入之后的id值
     * @param values
     * @return
     */
    public  long insertProvider(ContentValues values){

        SQLiteDatabase database =daoSession.getFristDbEntityDao().getDatabase();//获得数据库对象

        String fouseTabName = daoSession.getFristDbEntityDao().getTablename();//获得表名


        return  database.insert(fouseTabName, null, values);


    }
    //添加所有
    public void saveHost(List<FristTopDbEntity> re) {
        // TODO Auto-generated method stub
        daoSession.getFristTopDbEntityDao().insertInTx(re);//先获得表的DAO
        //daoSession数据库对象 管理都有表 所以用daoSession中get
    }
    //查询所有
    /**
     * 查询数据库中表中的所有数据
     * @return
     */
    public List<FristTopDbEntity> queryAll() {
        return daoSession.getFristTopDbEntityDao().loadAll();//loadAll()返回所有数据
    }

}
